package com.zsk.hw;

import java.util.Set;
import java.util.TreeSet;

public class TaskOne {

	/**
	 * 给定一个正整数，给出消除重复数字以后最大的整数<br>
	 * 输入描述: 正整数，注意考虑长整数 <br>
	 * 输出描述: 消除重复数字以后的最大整数 <br>
	 * 示例1 <br>
	 * 输入 423234<br>
	 * 输出 432<br>
	 */
	public static String cutRepeatNum(String numStr) {
		if (numStr == null || !numStr.matches("\\d+")) {
			throw new RuntimeException("必须输人数字");
		}

		Set<Integer> set = new TreeSet<>();
		int len = numStr.length();
		for (int i = 0; i < len; i++) {
			set.add(Integer.valueOf(Character.valueOf(numStr.charAt(i)).toString()));
		}

		StringBuilder sb = new StringBuilder();
		for (Integer temp : set) {
			sb.append(temp);
		}
		return sb.reverse().toString();
	}
}
